package pl.edu.pk.psb.bc.ds;

import java.util.ArrayList;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OrderBy;
import javax.persistence.Table;

@Entity
@Table(name = "mod_polaczenie")
public class PolaczenieDs {
	@Id
	@GeneratedValue
	private int id;

	private String nazwa;

	@ManyToOne(cascade = { CascadeType.PERSIST })
	@JoinColumn(name = "id_srodek_transportu")
	private RodzajPolaczeniaDs rodzajTransportu;

	@OneToMany(mappedBy = "polaczenie", cascade = { CascadeType.ALL })
	@OrderBy("kolejnosc")
	private List<TrasaDs> listaPrzystankowNaTrasie = new ArrayList<TrasaDs>();

	private boolean poniedzialek, wtorek, sroda, czwartek, piatek, sobota,
			niedziela;

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getNazwa() {
		return nazwa;
	}

	public void setNazwa(String nazwa) {
		this.nazwa = nazwa;
	}

	public RodzajPolaczeniaDs getRodzajTransportu() {
		return rodzajTransportu;
	}

	public void setRodzajTransportu(RodzajPolaczeniaDs rodzajTransportu) {
		this.rodzajTransportu = rodzajTransportu;
	}

	public List<TrasaDs> getListaPrzystankowNaTrasie() {
		return listaPrzystankowNaTrasie;
	}

	public void setListaPrzystankowNaTrasie(
			List<TrasaDs> listaPrzystankowNaTrasie) {
		this.listaPrzystankowNaTrasie = listaPrzystankowNaTrasie;
	}

	public boolean isPoniedzialek() {
		return poniedzialek;
	}

	public void setPoniedzialek(boolean poniedzialek) {
		this.poniedzialek = poniedzialek;
	}

	public boolean isWtorek() {
		return wtorek;
	}

	public void setWtorek(boolean wtorek) {
		this.wtorek = wtorek;
	}

	public boolean isSroda() {
		return sroda;
	}

	public void setSroda(boolean sroda) {
		this.sroda = sroda;
	}

	public boolean isCzwartek() {
		return czwartek;
	}

	public void setCzwartek(boolean czwarek) {
		this.czwartek = czwarek;
	}

	public boolean isPiatek() {
		return piatek;
	}

	public void setPiatek(boolean piatek) {
		this.piatek = piatek;
	}

	public boolean isSobota() {
		return sobota;
	}

	public void setSobota(boolean sobota) {
		this.sobota = sobota;
	}

	public boolean isNiedziela() {
		return niedziela;
	}

	public void setNiedziela(boolean niedziela) {
		this.niedziela = niedziela;
	}

	@Override
	public boolean equals(Object o) {
		if (this.id == ((PolaczenieDs) o).getId()) {
			return true;
		} else
			return false;
	}
}
